The Legend of Zelda (NES) Music Hacking Doc By ActionGamer 0x0000 - 0x3FFF -------- 0000: Unused Space (D60 bytes) ---- 0D60: Table for Music Parts (24 bytes) 7D Overworld 2 (?) B5 Ganon Appears Fanfare 6E Triforce Fanfare 67 Item Fanfare 7D Overworld 2 (?) AD Last Dungeon Theme 64 Silence 64 Silence 75 7D 85 95 7D 8D 95 Overworld Theme Sequence (1-2-3-5-2-4-5) 9D A5 Dungeons 1-8 Theme Sequence (1-2) BD C5 CD D5 DD D5 E5 ED Ending Theme (1-2-3-4-5-4-6-7) 24 2C 34 3C 44 34 4C 54 5C 44 Intro Theme Sequence (1-2-3-4-5-3-6-7-8-5) F5 Zelda Saved Fanfare All values are offsets from D60 ---- 0D84: Intro Theme Music Parts Definitions (8 * 8 = 40 bytes) 20 Note Lengths Code 8B 94 Data Pointer (for first track, Square 2) 3B 1D 4F Offsets for other tracks (Triangle, Square 1, Noise) 80 01 Reverb Switches Intro 1 20 8B 94 3B 1D 4F 80 01 148B 14C6 14A8 14DA Intro 2 20 DC 94 27 57 23 01 80 14DC 1503 1533 14FF Intro 3 20 A1 95 38 17 B8 80 80 15A1 15D9 15B8 1659 Intro 4 20 F1 95 6C 26 68 80 80 15F1 165D 1617 1659 Intro 5 20 8D 96 3E 25 21 80 80 168D 16CB 16B2 16AE Intro 6 20 EB 96 19 0D 31 80 80 16EB 1704 16F8 171C Intro 7 20 20 97 3F 27 7C 80 80 1720 175F 1747 179C Intro 8 20 8F 97 1D 11 0D 80 80 178F 17AC 17A0 179C ---- 0DC4: Silence Music Parts Definitions (3 bytes) 10 Note Lengths Code A1 8E Data Pointer 0EA1 ---- 0DC7: Item Fanfare Music Parts Definitions (7 bytes) Item Fanfare 10 5D 8E 0D 07 00 80 0E5D 0E6A 0E64 - ---- 0DCE: Triforce Fanfare Music Parts Definitions (7 bytes) Triforce Fanfare 10 A4 91 46 22 00 80 11A4 11EA 11C6 - ---- 0DD5: Overworld Theme Music Parts Definitions (5 * 8 = 28 bytes) Overworld 1 10 70 8E 32 5D 8E 01 80 0E70 0EA2 0ECD 0EFE Overworld 2 10 0F 8F 35 16 CE 01 80 0F0F 0F44 0F25 0FDD Overworld 3 10 55 8F 60 26 88 01 80 0F55 0FB5 0F7B 0FDD Overworld 4 10 32 90 59 2D A4 01 80 1032 108B 105F 10D6 Overworld 5 10 E4 8F 3B 1A F2 01 80 0FE4 101F 0FFE 10D6 ---- 0DFD: Dungeons 1-8 Music Parts Definitions (2 * 8 = 10 bytes) Dungeons 1 00 DD 90 45 22 00 01 01 10DD 1122 10FF - Dungeons 2 00 3A 91 39 1C 00 01 01 113A 1173 1156 - ---- 0E0D: Last Dungeon Music Parts Definitions (8 bytes) Last Dungeon 10 FD 91 A5 53 CD 80 80 11FD 12A2 1250 12CA ---- 0E15: Ganon Appears Fanfare Music Parts Definitions (8 bytes) Ganon Appears 10 CC 92 22 10 00 80 01 12CC 12EE 12DC - ---- 0E1D: Ending Theme Music Parts Definitions (7 * 8 = 38 bytes) Ending 1 08 F7 92 22 50 59 01 80 12F7 1319 1347 1350 Ending 2 08 F7 92 2F 50 59 01 80 12F7 1326 1347 1350 Ending 3 08 52 93 7A 1B C2 80 80 1352 13CC 136D 1414 Ending 4 08 86 93 46 24 8E 01 80 1386 13CC 13AA 1414 Ending 5 08 9D 93 44 23 77 01 80 139D 13E1 13C0 1414 Ending 6 08 ED 93 1B 0E 27 01 80 13ED 1408 13FB 1414 Ending 7 08 1A 94 40 1A 6B 80 80 141A 145A 1434 1485 ---- 0E55: Zelda Saved Fanfare Music Parts Definitions (8 bytes) Zelda Saved 10 C4 97 3F 20 00 80 80 17C4 1803 17E4 - ---- 0E5D: Item Fanfare Music Notes Data 81 1E 20 22 85 24 00 Square 2 81 30 32 34 85 36 Square 1 81 28 2A 2C 85 2E Triangle ---- 0E70: Overworld Theme 1 Music Notes Data (9F bytes) 85 32 82 08 08 32 32 32 32 32 08 2E 83 32 82 08 Square 2 (32 bytes) 08 32 32 32 32 32 08 2E 83 32 82 08 08 32 32 32 32 80 32 08 28 28 28 08 28 28 28 08 28 28 81 28 28 00 83 1A 82 1A 1A 1A 83 1A 82 1A 1A 1A 83 16 82 16 Triangle (2B bytes) 16 16 83 16 82 16 16 16 83 12 82 12 12 12 83 12 82 12 12 12 83 10 10 10 81 14 18 85 22 82 08 08 22 22 22 22 1E 08 1E 83 1E 08 82 Square 1 (31 bytes) 1E 1E 1E 20 08 20 83 20 82 08 08 20 20 20 20 80 20 08 18 18 81 18 80 18 18 81 18 80 18 18 81 18 18 B1 90 90 90 B1 90 90 90 B1 90 90 90 D0 D0 D0 50 Noise (11 bytes) 50 Etc... ---- 10ED: Dungeons 1 Music Notes Data (5D bytes) 83 2C 3A 2C 3A 2C 3A 2C 3A 2A 3A 2A 3A 2A 3A 2A Square 2 (22 bytes) 3A 28 3A 28 3A 28 3A 28 3A 26 3A 26 3A 26 3A 26 3A 00 81 08 83 32 3C 32 3C 32 3C 32 3C 30 3C 30 3C 30 Square 1 (23 bytes) 3C 30 3C 2E 3C 2E 3C 2E 3C 2E 3C 2C 3C 2C 3C 2C 3C 2C 3C 85 2C 08 32 3A 38 2A 08 08 28 08 83 28 81 08 2E Triangle (18 bytes) 83 08 38 85 36 26 08 08 113A: Dungeons 2 Music Notes Data (6A bytes) 83 24 36 24 36 24 36 24 36 22 36 22 36 22 36 22 Square 2 (1C bytes) 36 1E 30 2A 36 30 3C 3C 3C 48 48 00 81 08 83 2C 3A 2C 3A 2C 3A 2C 3A 2C 3A 2C 3A 2C Square 1 (1D bytes) 3A 2C 3A 2A 36 30 3C 36 36 06 06 06 02 81 24 22 85 24 83 08 2C 81 08 3C 83 08 3A 81 22 Triangle (31 bytes) 20 85 22 83 08 2C 81 08 3A 83 08 38 81 22 2A 30 2A 30 36 30 36 3C 36 3C 06 48 06 3C 36 3C 36 30 2A ---- 11A4: Triforce Fanfare Music Notes Data (59 bytes) 82 22 22 22 86 2C 80 2C 30 34 36 86 3A 82 3A 3A Square 2 (22 bytes) 3A 86 42 80 42 48 4A 02 86 50 80 22 22 08 22 84 2C 00 85 08 82 0A 0A 0A 86 14 80 14 18 1C 1E 86 22 82 Square 1 (24 bytes) 22 22 22 86 2C 80 2C 30 34 36 83 3A 80 12 81 12 80 12 84 1C 83 08 85 2C 2C 28 28 24 24 22 83 22 80 1E 1E 08 Triangle (13 bytes) 1E 84 22 ---- 11FD: Last Dungeon Music Notes Data (CF bytes) 84 1C 83 1E 81 16 86 18 85 08 84 1C 83 1E 81 16 Square 2 (53 bytes) 86 18 85 08 84 1C 83 1E 81 28 85 26 81 08 1C 87 22 20 18 1E 1C 16 1C 1A 14 84 28 83 2A 81 22 86 24 85 08 84 28 83 2A 81 22 86 24 85 08 84 28 83 2A 81 34 85 32 81 08 28 87 30 2E 24 2C 2A 22 2A 28 20 00 84 10 83 12 81 0A 86 0C 85 08 84 10 83 12 81 0A Square 1 (52 bytes) 86 0C 85 08 84 10 83 12 81 1C 85 1A 81 08 10 87 16 14 0C 12 10 0A 10 0E 04 84 1C 83 1E 81 16 86 18 85 08 84 1C 83 1E 81 16 86 18 85 08 84 1C 83 1E 81 28 85 26 81 08 1C 87 22 20 18 1E 1C 16 1C 1A 14 F8 81 1E 1E F0 F8 81 1C 1C F0 F8 81 1A 1A F0 F4 Triangle (28 bytes) 81 18 18 F0 F8 81 2A 2A F0 F8 81 28 28 F0 F8 81 26 26 F0 F4 81 24 24 F0 49 00 Noise (2 bytes) ---- 12CC: Ganon Appears Fanfare Music Notes Data (2B bytes) 81 14 1E 28 16 20 2A 18 22 2C 87 2E 30 85 32 00 Square 2 (10 bytes) 80 08 81 14 1E 28 16 20 2A 18 22 80 2C 87 24 26 Square 1 (12 bytes) 85 28 84 14 16 18 87 32 34 85 36 Triangle (9 bytes) ---- 12F7: Ending Theme 1 Music Notes Data (5B bytes) 12F7 1319 1347 1350 83 56 42 02 4C 52 42 5C 4A 5A 02 4C 5A 56 02 50 Square 2 (22 bytes) 4C 5A 02 54 5A 58 02 50 54 4C 42 02 4C 50 48 4A 50 00 87 08 08 08 08 08 08 08 83 08 14 18 1C 83 1E 2C Triangle (2E bytes) 14 2C 1C 2C 14 2C 1E 2C 14 2C 1E 1E 22 26 28 36 1E 36 28 36 1E 36 26 36 14 2C 1C 14 18 1C 87 08 08 08 08 08 08 08 08 Square 1 (9 bytes) C9 00 Noise (2 bytes) Etc... ---- 148B: Intro Theme 1 Music Notes Data (51 bytes) 81 32 84 08 28 28 32 82 2E 2A 81 2E 80 08 81 32 Square 2 (1D bytes) 84 08 2A 2A 32 82 30 2C 81 30 80 08 00 83 08 81 32 84 08 28 28 32 82 2E 2A 81 2E 80 08 Square 1 (1E bytes) 81 32 84 08 2A 2A 32 82 30 2C 81 30 80 08 86 1A 28 81 32 86 16 24 81 2E 86 12 20 81 2A 86 Triangle (14 bytes) 10 1E 81 28 40 00 Noise (2 bytes) This seems to mean "play nothing" Or maybe it's just a long pause Etc... Important note: the first track (Square 2) is what controls the flow of the music parts in the code. Any Square 2 part must end with 0 to signal the part's end. A byte with bit 7 set means a change in length Otherwise, the byte denotes pitch Length of notes for Intro Theme Note Lengths Code 20 Base length of whole note is A0 (160 decimal) 80 = Noire Pointée (3/8) 3C 60 81 = Blanche (1/2) 50 80 82 = Double Croche (1/16) 0A 10 83 = Triple Croche (1/32) 05 05 84 = Croche (1/8) 14 20 85 = Triolet de Noire (1/12) 0D 13 (1/12.3) 86 = Noire (1/4) 28 40 87 = Note Quelconque (1/11) 0E 14 (1/11.4) 08 = Pause If preceded by a change in length, extend the length of the previous note If at the beginning, acts as a pause Pitch 62 = E-1 1 64 = F-1 1 66 = F#1 1 68 = G#1 1 6A = A-1 1 6C = A#1 1 6E = B-1 1 70 = C-2 2 72 = C#2 2 0A = D-2 2 0C = D#2 2 0E = E-2 2 10 = F-2 2 12 = F#2 2 14 = G-2 2 16 = G#2 2 18 = A-2 2 1A = A#2 2 1C = B-2 2 1E = C-3 3 20 = C#3 3 22 = D-3 3 24 = D#3 3 26 = E-3 3 28 = F-3 3 2A = F#3 3 2C = G-3 3 2E = G#3 3 30 = A-3 3 32 = A#3 3 34 = B-3 3 36 = C-4 4 38 = C#4 4 3A = D-4 4 3C = D#4 4 3E = E-4 4 40 = F-4 4 06 = F#4 4 (?) 42 = G-4 4 44 = G#4 4 46 = A-4 4 (?) 48 = A#4 4 (?) 4A = B-4 4 4C = E-5 5 (?) 4E = C#5 5 50 = D-5 5 52 = D#5 5 54 = E-5 5 56 = F-5 5 58 = F#5 5 5A = G-5 5 5C = B-5 5 5E = C#6 6 Some values don't follow the normal pitch order Ashbury KB-200 Instrument 86 LEAD7(FIFTHS) ---- 17C4: Zelda Saved Fanfare Music Notes Data (61 bytes) 17C4 1803 17E4 - 85 36 80 36 36 81 36 82 32 2C 3A 85 36 80 36 36 Square 2 (20 bytes) 81 36 82 32 2C 3A 83 36 80 1E 1E 1E 1E 85 1E 00 85 26 80 26 26 81 26 82 22 1E 28 85 26 80 26 26 Square 1 (1F bytes) 81 26 82 22 1E 28 83 2C 80 14 14 14 14 85 14 82 26 1E 26 2C 26 2C 32 2C 32 3A 32 3A 26 1E 26 Triangle (22 bytes) 2C 26 2C 32 2C 32 3A 32 3A 83 36 80 1E 1E 1E 1E 85 1E ---- 1825: A5 E0 LDA $E0 1827: F0 0C BEQ $1835 1829: A9 00 LDA #$00 ; A = 00 182B: 8D 1540 STA $4015 182E: A9 0F LDA #$0F ; A = 0F 1830: 8D 1540 STA $4015 1833: D0 11 BNE $1846 1835: A9 FF LDA #$FF ; A = FF 1837: 8D 1740 STA $4017 183A: 20 D59A JSR $9AD5 183D: 20 A099 JSR $99A0 1840: 20 859B JSR $9B85 1843: 20 6B9C JSR $9C6B 1846: 20 CC98 JSR $98CC 1849: A9 00 LDA #$00 ; A = 00 184B: 8D 0406 STA $0604 184E: 8D 0306 STA $0603 1851: 8D 0206 STA $0602 1854: 8D 0106 STA $0601 1857: 8D 0006 STA $0600 185A: 60 RTS ---- 185B: Table for ? (6E bytes) First byte affects sound of shield being hit 1C 4C 27 5C 46 67 07 95 50 08 08 08 08 08 90 08 08 08 08 08 08 08 08 08 08 08 08 00 82 4A 48 4A 08 08 08 08 08 08 00 9F 1E 22 24 26 9F 28 2A 2C 2E 9A 28 2A 2C 2E 9C 28 2A 2C 2E 96 28 2A 2C 2E 98 28 2A 2C 2E 00 99 42 4A 50 54 00 99 70 0A 70 0E 70 10 9F 70 2A 12 1E 2A 70 1E 00 9A 42 08 08 56 08 08 00 08 08 00 9F 40 30 40 3A 28 00 ---- 18C9: 4C 469D JMP $9D46 ---- 18CC: AD 0406 LDA $0604 18CF: 30 F8 BMI $18C9 18D1: F0 09 BEQ $18DC 18D3: C9 40 CMP #$40 18D5: D0 0B BNE $18E2 18D7: AE 0506 LDX $0605 18DA: F0 06 BEQ $18E2 18DC: AD 0506 LDA $0605 18DF: D0 10 BNE $18F1 18E1: 60 RTS ---- 18E2: 8D 0506 STA $0605 18E5: A0 00 LDY #$00 ; Y = 00 18E7: C8 INY 18E8: 4A LSR 18E9: 90 FC BCC $18E7 18EB: B9 5A98 LDA $985A,Y 18EE: 8D 0E06 STA $060E 18F1: AC 0E06 LDY $060E 18F4: EE 0E06 INC $060E 18F7: B9 5B98 LDA $985B,Y 18FA: 30 15 BMI $1911 18FC: D0 1F BNE $191D 18FE: A2 90 LDX #$90 ; X = 90 1900: 8E 0040 STX $4000 1903: A2 18 LDX #$18 ; X = 18 1905: 8E 0340 STX $4003 1908: A2 00 LDX #$00 ; X = 00 190A: 8E 0240 STX $4002 190D: 8E 0506 STX $0605 1910: 60 RTS ---- 1911: 8D 0040 STA $4000 1914: AC 0E06 LDY $060E 1917: EE 0E06 INC $060E 191A: B9 5B98 LDA $985B,Y 191D: 20 0D9C JSR $9C0D 1920: A9 7F LDA #$7F ; A = 7F 1922: 8D 0140 STA $4001 1925: 60 RTS ---- 1926: A9 0F LDA #$0F ; A = 0F 1928: 8D 1540 STA $4015 192B: A9 00 LDA #$00 ; A = 00 192D: 8D 0806 STA $0608 1930: 8D 0706 STA $0607 1933: 8D 1A06 STA $061A 1936: 8D F605 STA $05F6 1939: 60 RTS ---- 193A: 8C 0606 STY $0606 193D: A9 05 LDA #$05 ; A = 05 193F: 85 69 STA $69 1941: AD 0406 LDA $0604 1944: 29 EF AND #$EF ; keep bits xxx. xxxx 1946: D0 03 BNE $194B 1948: 8D 0406 STA $0604 194B: A4 69 LDY $69 194D: B9 BB9F LDA $9FBB,Y 1950: D0 1C BNE $196E 1952: 8C 0606 STY $0606 1955: A9 38 LDA #$38 ; A = 38 1957: 85 69 STA $69 1959: A9 0D LDA #$0D ; A = 0D 195B: 85 68 STA $68 195D: C6 68 DEC $68 195F: A4 68 LDY $68 1961: F0 F6 BEQ $1959 1963: C0 07 CPY #$07 1965: 90 04 BCC $196B 1967: A9 10 LDA #$10 ; A = 10 1969: D0 10 BNE $197B 196B: B9 F89E LDA $9EF8,Y 196E: AA TAX 196F: 29 0F AND #$0F ; keep bits .... xxxx 1971: 8D 0E40 STA $400E 1974: 8A TXA 1975: 4A LSR 1976: 4A LSR 1977: 4A LSR 1978: 4A LSR 1979: 09 10 ORA #$10 ; set bits ...x .... 197B: 8D 0C40 STA $400C 197E: A9 08 LDA #$08 ; A = 08 1980: 8D 0F40 STA $400F 1983: C6 69 DEC $69 1985: D0 0A BNE $1991 1987: A9 F0 LDA #$F0 ; A = F0 1989: 8D 0C40 STA $400C 198C: A9 00 LDA #$00 ; A = 00 198E: 8D 0606 STA $0606 1991: 60 RTS ---- 1992: 8C 0606 STY $0606 1995: A9 0A LDA #$0A ; A = 0A 1997: 85 69 STA $69 1999: A4 69 LDY $69 199B: B9 B19F LDA $9FB1,Y 199E: D0 CE BNE $196E 19A0: AC 0306 LDY $0603 19A3: 30 81 BMI $1926 19A5: AD 0606 LDA $0606 19A8: 4E 0306 LSR $0603 19AB: B0 E5 BCS $1992 19AD: 4A LSR 19AE: B0 E9 BCS $1999 19B0: 4E 0306 LSR $0603 19B3: B0 85 BCS $193A 19B5: 4A LSR 19B6: B0 93 BCS $194B 19B8: 4E 0306 LSR $0603 19BB: B0 2A BCS $19E7 19BD: 4A LSR 19BE: B0 2E BCS $19EE 19C0: 4E 0306 LSR $0603 19C3: B0 8D BCS $1952 19C5: 4A LSR 19C6: B0 95 BCS $195D 19C8: 4E 0306 LSR $0603 19CB: B0 0C BCS $19D9 19CD: 4A LSR 19CE: B0 10 BCS $19E0 19D0: 4A LSR 19D1: B0 36 BCS $1A09 19D3: 4E 0306 LSR $0603 19D6: B0 25 BCS $19FD 19D8: 60 RTS ---- 19D9: 8C 0606 STY $0606 19DC: A9 18 LDA #$18 ; A = 18 19DE: 85 69 STA $69 19E0: A4 69 LDY $69 19E2: B9 3C9A LDA $9A3C,Y 19E5: D0 87 BNE $196E 19E7: 8C 0606 STY $0606 19EA: A9 20 LDA #$20 ; A = 20 19EC: 85 69 STA $69 19EE: A5 69 LDA $69 19F0: 4A LSR 19F1: A8 TAY 19F2: A2 0E LDX #$0E ; X = 0E 19F4: 8E 0E40 STX $400E 19F7: B9 C09F LDA $9FC0,Y 19FA: 4C 7B99 JMP $997B ---- 19FD: 8C 0606 STY $0606 1A00: A9 D0 LDA #$D0 ; A = D0 1A02: 8D F305 STA $05F3 1A05: A9 10 LDA #$10 ; A = 10 1A07: 85 68 STA $68 1A09: AD F305 LDA $05F3 1A0C: C9 BF CMP #$BF 1A0E: 90 04 BCC $1A14 1A10: E6 68 INC $68 1A12: D0 14 BNE $1A28 1A14: AD F305 LDA $05F3 1A17: 4A LSR 1A18: 90 0E BCC $1A28 1A1A: 4A LSR 1A1B: 90 0B BCC $1A28 1A1D: 4A LSR 1A1E: 90 08 BCC $1A28 1A20: A5 68 LDA $68 1A22: C9 10 CMP #$10 1A24: F0 02 BEQ $1A28 1A26: C6 68 DEC $68 1A28: A5 68 LDA $68 1A2A: 8D 0C40 STA $400C 1A2D: A2 03 LDX #$03 ; X = 03 1A2F: 8E 0E40 STX $400E 1A32: A9 08 LDA #$08 ; A = 08 1A34: 8D 0F40 STA $400F 1A37: CE F305 DEC $05F3 1A3A: 4C 8599 JMP $9985 ---- 1A3D: Table for ? (18 bytes) 1F 2F 2E 3F 3F 4C 4E 5F 6F 6F 7E 8F 9E AF BE CF DE EF FE FD FE FF FF FE ---- 1A55: Table for Offsets for Chimes Data (80 bytes) 0C 08 11 1C 28 33 40 62 0C = Rupee Sound (the "ting" part) 08 = Item Appears (in dungeons, after clearing room) 11 = Secret Found 1C = Item Taken / Fairy Appears 28 = Recorder Tune 33 = Enemy Killed 40 = Game Over Tune 62 = Link Death ---- 1A5D: Chimes Data 8A 4E 58 60 Rupee 8A 5E 94 60 00 Item Appears 8A 42 06 3C 30 2E 3E 44 CC 02 00 Secret Found 83 40 42 48 4A 02 50 4C 54 94 56 00 Item Taken 94 3A 3E A8 50 8A 4E 02 CC 4A 00 Recorder 81 28 3E 24 82 3A 81 16 30 1A 82 34 00 Enemy Killed 94 56 42 02 4C 52 42 5C 4A 5A 02 4C 5A 56 02 50 Game Over Tune 4C 5A 02 54 5A 58 02 50 54 4C 42 02 4C 50 48 4A 50 00 8A 08 08 08 85 3C 3A 38 36 3A 38 36 34 38 36 34 Link Death 32 36 34 32 30 34 32 30 2E 2A 28 A8 26 00 ---- 1AD5: AD 0206 LDA $0602 1AD8: 30 08 BMI $1AE2 1ADA: D0 0B BNE $1AE7 1ADC: AD 0706 LDA $0607 1ADF: D0 19 BNE $1AFA 1AE1: 60 RTS ---- 1AE2: 20 469D JSR $9D46 1AE5: A9 80 LDA #$80 ; A = 80 1AE7: 8D 0706 STA $0607 1AEA: A0 00 LDY #$00 ; Y = 00 1AEC: C8 INY 1AED: 4A LSR 1AEE: 90 FC BCC $1AEC 1AF0: B9 549A LDA $9A54,Y 1AF3: 8D 1806 STA $0618 1AF6: A9 01 LDA #$01 ; A = 01 1AF8: 85 6F STA $6F 1AFA: C6 6F DEC $6F 1AFC: D0 49 BNE $1B47 1AFE: AC 1806 LDY $0618 1B01: EE 1806 INC $0618 1B04: B9 559A LDA $9A55,Y 1B07: 30 1C BMI $1B25 1B09: D0 27 BNE $1B32 1B0B: AD 0706 LDA $0607 1B0E: C9 40 CMP #$40 1B10: F0 D5 BEQ $1AE7 1B12: A2 90 LDX #$90 ; X = 90 1B14: 8E 0440 STX $4004 1B17: A2 18 LDX #$18 ; X = 18 1B19: 8E 0740 STX $4007 1B1C: A2 00 LDX #$00 ; X = 00 1B1E: 8E 0706 STX $0607 1B21: 8E 0640 STX $4006 1B24: 60 RTS ---- 1B25: 29 7F AND #$7F ; keep bits .xxx xxxx 1B27: 85 6E STA $6E 1B29: AC 1806 LDY $0618 1B2C: EE 1806 INC $0618 1B2F: B9 559A LDA $9A55,Y 1B32: 20 2B9C JSR $9C2B 1B35: A9 7F LDA #$7F ; A = 7F 1B37: 8D 0540 STA $4005 1B3A: A9 86 LDA #$86 ; A = 86 (affects chimes and some sounds) 1B3C: 8D 0440 STA $4004 1B3F: A5 6E LDA $6E 1B41: 85 6F STA $6F 1B43: A9 1F LDA #$1F ; A = 1F 1B45: 85 6D STA $6D 1B47: AD 0706 LDA $0607 1B4A: 29 90 AND #$90 ; keep bits x..x .... 1B4C: F0 16 BEQ $1B64 1B4E: A4 6D LDY $6D 1B50: F0 02 BEQ $1B54 1B52: C6 6D DEC $6D 1B54: B9 659B LDA $9B65,Y 1B57: 8D 0440 STA $4004 1B5A: A5 6F LDA $6F 1B5C: A6 6B LDX $6B ; Square 1 Channel Frequency Offset 1B5E: 20 549C JSR $9C54 1B61: 8E 0640 STX $4006 1B64: 60 RTS ---- 1B65: Table for ? (20 bytes) Affects Last Note of Death Tune 95 96 97 98 99 9A 9B 9C 9D 9E 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9F 9E 9D 9C 9B 9A 99 98 97 96 ---- 1B85: AD 0106 LDA $0601 1B88: 30 29 BMI $1BB3 1B8A: D0 23 BNE $1BAF 1B8C: AD 0806 LDA $0608 1B8F: F0 18 BEQ $1BA9 1B91: CE F205 DEC $05F2 1B94: D0 18 BNE $1BAE 1B96: AD 0806 LDA $0608 1B99: 30 18 BMI $1BB3 1B9B: 29 70 AND #$70 ; keep bits .xxx .... 1B9D: D0 10 BNE $1BAF 1B9F: A9 00 LDA #$00 ; A = 00 1BA1: 8D 0806 STA $0608 1BA4: A9 0F LDA #$0F ; A = 0F 1BA6: 8D 1540 STA $4015 1BA9: AD F605 LDA $05F6 1BAC: D0 09 BNE $1BB7 1BAE: 60 RTS ---- 1BAF: A2 00 LDX #$00 ; X = 00 1BB1: F0 04 BEQ $1BB7 1BB3: A2 7F LDX #$7F ; X = 7F 1BB5: 29 F0 AND #$F0 ; keep bits xxxx .... 1BB7: 8E 1140 STX $4011 1BBA: 8D 0806 STA $0608 1BBD: AA TAX 1BBE: 29 F0 AND #$F0 ; keep bits xxxx .... 1BC0: F0 03 BEQ $1BC5 1BC2: 8D F605 STA $05F6 1BC5: 8A TXA 1BC6: A0 00 LDY #$00 ; Y = 00 1BC8: C8 INY 1BC9: 4A LSR 1BCA: 90 FC BCC $1BC8 1BCC: B9 FB9B LDA $9BFB,Y 1BCF: 8D 1040 STA $4010 1BD2: B9 ED9B LDA $9BED,Y 1BD5: 8D 1240 STA $4012 1BD8: B9 F49B LDA $9BF4,Y 1BDB: 8D 1340 STA $4013 1BDE: A9 A0 LDA #$A0 ; A = A0 1BE0: 8D F205 STA $05F2 1BE3: A9 0F LDA #$0F ; A = 0F 1BE5: 8D 1540 STA $4015 1BE8: A9 1F LDA #$1F ; A = 1F 1BEA: 8D 1540 STA $4015 1BED: 60 RTS ---- Related to Sound Effects that use the DMC (Sword, Link Hurt...) 1BEE: 00 4C 80 1D 20 28 4C Table for Sample Address (7 bytes) 1BF5: 75 C0 40 0A B0 90 D0 Table for Sample Length (7 bytes) 1BFC: 0F 0F 0D 0F 0E 0F 0E Table for Sample Frequency Index (7 bytes) ---- 1C03: 8C 0140 STY $4001 1C06: 8E 0040 STX $4000 1C09: 60 RTS ---- 1C0A: 20 039C JSR $9C03 1C0D: A8 TAY 1C0E: B9 019F LDA $9F01,Y 1C11: F0 0D BEQ $1C20 1C13: 85 6A STA $6A ; Square 2 Channel Frequency Offset 1C15: 8D 0240 STA $4002 1C18: B9 009F LDA $9F00,Y 1C1B: 09 08 ORA #$08 ; set bits .... x... 1C1D: 8D 0340 STA $4003 1C20: 60 RTS ---- 1C21: 8E 0440 STX $4004 1C24: 8C 0540 STY $4005 1C27: 60 RTS ---- 1C28: 20 219C JSR $9C21 1C2B: A8 TAY 1C2C: B9 019F LDA $9F01,Y 1C2F: F0 EF BEQ $1C20 1C31: 85 6B STA $6B ; Square 1 Channel Frequency Offset 1C33: 8D 0640 STA $4006 1C36: B9 009F LDA $9F00,Y 1C39: 09 08 ORA #$08 ; set bits .... x... 1C3B: 8D 0740 STA $4007 1C3E: 60 RTS ---- 1C3F: A8 TAY 1C40: B9 019F LDA $9F01,Y 1C43: F0 DB BEQ $1C20 1C45: 8D F005 STA $05F0 1C48: 8D 0A40 STA $400A 1C4B: B9 009F LDA $9F00,Y 1C4E: 09 08 ORA #$08 ; set bits .... x... 1C50: 8D 0B40 STA $400B 1C53: 60 RTS ---- 1C54: C9 10 CMP #$10 1C56: 90 0F BCC $1C67 1C58: 4A LSR 1C59: 4A LSR 1C5A: 4A LSR 1C5B: B0 05 BCS $1C62 1C5D: 8A TXA 1C5E: 69 01 ADC #$01 1C60: D0 04 BNE $1C66 1C62: 8A TXA 1C63: 18 CLC 1C64: 69 FF ADC #$FF 1C66: AA TAX 1C67: 60 RTS ---- 1C68: 4C 2C9D JMP $9D2C ---- 1C6B: AD 0006 LDA $0600 1C6E: D0 06 BNE $1C76 1C70: AD 0906 LDA $0609 1C73: D0 F3 BNE $1C68 1C75: 60 RTS ---- Determine Offset (from D60) according to Song Code 1C76: 8D 0906 STA $0609 ; Current Song 1C79: 30 18 BMI $1C93 ; if 80 -> Intro Theme 1C7B: C9 06 CMP #$06 1C7D: D0 04 BNE $1C83 1C7F: A0 24 LDY #$24 ; Y = 24 Intro Theme Data (?) 1C81: D0 62 BNE $1CE5 1C83: C9 01 CMP #$01 ; 01 = Overworld Theme 1C85: F0 14 BEQ $1C9B 1C87: C9 40 CMP #$40 ; 40 = Dungeons 1-8 Theme 1C89: F0 0C BEQ $1C97 1C8B: C9 10 CMP #$10 ; 10 = Ending Theme 1C8D: D0 10 BNE $1C9F 1C8F: A0 11 LDY #$11 ; Y = 11 Ending Theme 1C91: D0 0A BNE $1C9D 1C93: A0 19 LDY #$19 ; Y = 19 Intro Theme 1C95: D0 06 BNE $1C9D 1C97: A0 0F LDY #$0F ; Y = 0F Dungeons 1-8 1C99: D0 02 BNE $1C9D 1C9B: A0 08 LDY #$08 ; Y = 08 Overworld Theme 1C9D: 84 6C STY $6C ; Music Parts Offset 1C9F: AA TAX 1CA0: 30 30 BMI $1CD2 1CA2: C9 01 CMP #$01 1CA4: F0 20 BEQ $1CC6 1CA6: C9 40 CMP #$40 1CA8: F0 10 BEQ $1CBA 1CAA: C9 10 CMP #$10 1CAC: D0 30 BNE $1CDE 1CAE: E6 6C INC $6C ; Music Parts Offset 1CB0: A4 6C LDY $6C 1CB2: C0 1A CPY #$1A ; Check for end of Ending Theme sequence 1CB4: D0 2F BNE $1CE5 1CB6: A0 14 LDY #$14 ; Y = 14 (loop to 14, not 11) 1CB8: D0 E3 BNE $1C9D 1CBA: E6 6C INC $6C ; Music Parts Offset 1CBC: A4 6C LDY $6C 1CBE: C0 12 CPY #$12 ; Check for end of Dungeons 1-8 sequence 1CC0: D0 23 BNE $1CE5 1CC2: A0 0F LDY #$0F ; Y = 0F (loop to beginning) 1CC4: D0 D7 BNE $1C9D 1CC6: E6 6C INC $6C ; Music Parts Offset 1CC8: A4 6C LDY $6C 1CCA: C0 10 CPY #$10 ; Check for end of Overworld sequence 1CCC: D0 17 BNE $1CE5 1CCE: A0 09 LDY #$09 ; Y = 09 (loop to 09, not 08) 1CD0: D0 CB BNE $1C9D 1CD2: E6 6C INC $6C ; Music Parts Offset 1CD4: A4 6C LDY $6C 1CD6: C0 24 CPY #$24 ; Check for end of Intro Theme sequence 1CD8: D0 0B BNE $1CE5 1CDA: A0 19 LDY #$19 ; Y = 19 (loop to beginning) 1CDC: D0 BF BNE $1C9D 1CDE: 8A TXA 1CDF: A0 00 LDY #$00 ; Y = 00 1CE1: C8 INY 1CE2: 4A LSR 1CE3: 90 FC BCC $1CE1 Load Music Parts Definitions Data 1CE5: B9 5F8D LDA $8D5F,Y 1CE8: A8 TAY 1CE9: B9 608D LDA $8D60,Y 1CEC: 8D F405 STA $05F4 ; Note Lengths Code 1CEF: B9 618D LDA $8D61,Y 1CF2: 85 66 STA $66 1CF4: B9 628D LDA $8D62,Y 1CF7: 85 67 STA $67 1CF9: B9 638D LDA $8D63,Y 1CFC: 8D 0C06 STA $060C 1CFF: B9 648D LDA $8D64,Y 1D02: 8D 0B06 STA $060B 1D05: B9 658D LDA $8D65,Y 1D08: 8D 0D06 STA $060D 1D0B: 8D F505 STA $05F5 1D0E: B9 668D LDA $8D66,Y 1D11: 8D 1906 STA $0619 1D14: B9 678D LDA $8D67,Y 1D17: 8D F105 STA $05F1 1D1A: A9 01 LDA #$01 ; A = 01 1D1C: 8D 1106 STA $0611 1D1F: 8D 1306 STA $0613 1D22: 8D 1606 STA $0616 1D25: 8D 1706 STA $0617 1D28: 4A LSR 1D29: 8D 0A06 STA $060A ; Square 2 Data Offset 1D2C: CE 1106 DEC $0611 1D2F: D0 52 BNE $1D83 1D31: AC 0A06 LDY $060A ; Square 2 Data Offset 1D34: EE 0A06 INC $060A 1D37: B1 66 LDA ($66),Y 1D39: F0 04 BEQ $1D3F ; if byte == 0, 1D3F 1D3B: 10 28 BPL $1D65 ; if byte < 80, 1D65 1D3D: D0 18 BNE $1D57 ; if byte != 0, 1D57 1D3F: AD 0906 LDA $0609 ; Current Song 1D42: 29 F1 AND #$F1 ; keep bits xxxx ...x 1D44: D0 0E BNE $1D54 1D46: A9 00 LDA #$00 ; A = 00 1D48: 8D 0906 STA $0609 ; Current Song 1D4B: 8D 1540 STA $4015 1D4E: A9 0F LDA #$0F ; A = 0F 1D50: 8D 1540 STA $4015 1D53: 60 RTS ---- 1D54: 4C 9F9C JMP $9C9F ---- 1D57: 20 E69E JSR $9EE6 1D5A: 8D 1006 STA $0610 1D5D: AC 0A06 LDY $060A ; Square 2 Data Offset 1D60: EE 0A06 INC $060A 1D63: B1 66 LDA ($66),Y 1D65: AE 0706 LDX $0607 1D68: D0 13 BNE $1D7D 1D6A: 20 2B9C JSR $9C2B 1D6D: F0 03 BEQ $1D72 1D6F: 20 729F JSR $9F72 1D72: 8D 1206 STA $0612 1D75: 20 219C JSR $9C21 1D78: A9 00 LDA #$00 ; A = 00 1D7A: 8D 1B06 STA $061B 1D7D: AD 1006 LDA $0610 1D80: 8D 1106 STA $0611 1D83: AC 0706 LDY $0607 1D86: D0 26 BNE $1DAE 1D88: EE 1B06 INC $061B 1D8B: AC 1206 LDY $0612 1D8E: F0 03 BEQ $1D93 1D90: CE 1206 DEC $0612 1D93: 20 7C9F JSR $9F7C 1D96: 8D 0440 STA $4004 1D99: A2 7F LDX #$7F ; X = 7F 1D9B: 8E 0540 STX $4005 1D9E: AD 0906 LDA $0609 ; Current Song 1DA1: 10 0B BPL $1DAE 1DA3: AD 1B06 LDA $061B 1DA6: A6 6B LDX $6B ; Square 1 Channel Frequency Offset 1DA8: 20 549C JSR $9C54 1DAB: 8E 0640 STX $4006 1DAE: AC 0B06 LDY $060B 1DB1: F0 66 BEQ $1E19 1DB3: CE 1306 DEC $0613 1DB6: D0 36 BNE $1DEE 1DB8: AC 0B06 LDY $060B ; Square 1 Data Offset 1DBB: EE 0B06 INC $060B 1DBE: B1 66 LDA ($66),Y 1DC0: 10 0E BPL $1DD0 1DC2: 20 E69E JSR $9EE6 1DC5: 8D 0F06 STA $060F 1DC8: AC 0B06 LDY $060B 1DCB: EE 0B06 INC $060B 1DCE: B1 66 LDA ($66),Y 1DD0: AE 0506 LDX $0605 1DD3: D0 13 BNE $1DE8 1DD5: 20 0D9C JSR $9C0D 1DD8: F0 03 BEQ $1DDD 1DDA: 20 729F JSR $9F72 1DDD: 8D 1406 STA $0614 1DE0: 20 039C JSR $9C03 1DE3: A9 00 LDA #$00 ; A = 00 1DE5: 8D 1C06 STA $061C 1DE8: AD 0F06 LDA $060F 1DEB: 8D 1306 STA $0613 1DEE: AE 0506 LDX $0605 1DF1: D0 26 BNE $1E19 1DF3: EE 1C06 INC $061C 1DF6: AC 1406 LDY $0614 1DF9: F0 03 BEQ $1DFE 1DFB: CE 1406 DEC $0614 1DFE: 20 7C9F JSR $9F7C 1E01: 8D 0040 STA $4000 1E04: AD 0906 LDA $0609 ; Current Song 1E07: 10 0B BPL $1E14 1E09: AD 1C06 LDA $061C 1E0C: A6 6A LDX $6A 1E0E: 20 549C JSR $9C54 1E11: 8E 0240 STX $4002 1E14: A9 7F LDA #$7F ; A = 7F 1E16: 8D 0140 STA $4001 1E19: AD 0C06 LDA $060C ; Triangle Data Offset 1E1C: D0 03 BNE $1E21 1E1E: 4C 959E JMP $9E95 ---- 1E21: CE 1606 DEC $0616 1E24: D0 52 BNE $1E78 1E26: AC 0C06 LDY $060C ; Triangle Data Offset 1E29: EE 0C06 INC $060C 1E2C: B1 66 LDA ($66),Y 1E2E: F0 62 BEQ $1E92 1E30: 10 38 BPL $1E6A 1E32: C9 F0 CMP #$F0 1E34: F0 11 BEQ $1E47 1E36: 90 1D BCC $1E55 1E38: 38 SEC 1E39: E9 F0 SBC #$F0 1E3B: 8D 1E06 STA $061E 1E3E: AD 0C06 LDA $060C ; Triangle Data Offset 1E41: 8D 1F06 STA $061F 1E44: 4C 269E JMP $9E26 ---- 1E47: CE 1E06 DEC $061E 1E4A: F0 06 BEQ $1E52 1E4C: AD 1F06 LDA $061F 1E4F: 8D 0C06 STA $060C 1E52: 4C 269E JMP $9E26 ---- 1E55: 20 E69E JSR $9EE6 1E58: 8D 1506 STA $0615 1E5B: A9 1F LDA #$1F ; A = 1F 1E5D: 8D 0840 STA $4008 1E60: AC 0C06 LDY $060C 1E63: EE 0C06 INC $060C 1E66: B1 66 LDA ($66),Y 1E68: F0 28 BEQ $1E92 1E6A: 20 3F9C JSR $9C3F 1E6D: A9 00 LDA #$00 ; A = 00 1E6F: 8D 1D06 STA $061D 1E72: AE 1506 LDX $0615 1E75: 8E 1606 STX $0616 1E78: EE 1D06 INC $061D 1E7B: AD 1D06 LDA $061D 1E7E: AE F005 LDX $05F0 1E81: 20 549C JSR $9C54 1E84: 8E 0A40 STX $400A 1E87: AD F105 LDA $05F1 ; Triangle Reverb Switch 1E8A: 10 04 BPL $1E90 1E8C: A9 1F LDA #$1F ; A = 1F 1E8E: D0 02 BNE $1E92 1E90: A9 FF LDA #$FF ; A = FF 1E92: 8D 0840 STA $4008 1E95: AD 0906 LDA $0609 ; Current Song 1E98: 29 91 AND #$91 ; keep bits x..x ...x 1E9A: F0 37 BEQ $1ED3 1E9C: CE 1706 DEC $0617 1E9F: D0 32 BNE $1ED3 1EA1: AC 0D06 LDY $060D ; Noise Data Offset 1EA4: EE 0D06 INC $060D 1EA7: B1 66 LDA ($66),Y 1EA9: D0 08 BNE $1EB3 1EAB: AD F505 LDA $05F5 1EAE: 8D 0D06 STA $060D ; Noise Data Offset 1EB1: D0 EE BNE $1EA1 1EB3: 20 E09E JSR $9EE0 1EB6: 8D 1706 STA $0617 1EB9: 8A TXA 1EBA: 29 3E AND #$3E ; keep bits ..xx xxx. 1EBC: 4A LSR 1EBD: 4A LSR 1EBE: 4A LSR 1EBF: 4A LSR 1EC0: A8 TAY 1EC1: B9 D49E LDA $9ED4,Y 1EC4: 8D 0C40 STA $400C 1EC7: B9 D89E LDA $9ED8,Y 1ECA: 8D 0E40 STA $400E 1ECD: B9 DC9E LDA $9EDC,Y 1ED0: 8D 0F40 STA $400F 1ED3: 60 RTS ---- 1ED4: Table for ? (C bytes) 10 1C 1C 1C 00 03 0A 03 00 18 18 58 ---- 1EE0: AA TAX 1EE1: 6A ROR 1EE2: 8A TXA 1EE3: 2A ROL 1EE4: 2A ROL 1EE5: 2A ROL 1EE6: 29 07 AND #$07 ; keep bits .... .xxx 1EE8: 18 CLC 1EE9: 6D F405 ADC $05F4 ; Note Lengths Code 1EEC: A8 TAY 1EED: B9 D19F LDA $9FD1,Y ; Table for Note Lengths 1EF0: 60 RTS ---- 1EF1: 29 07 AND #$07 ; keep bits .... .xxx 1EF3: A8 TAY 1EF4: B9 D19F LDA $9FD1,Y 1EF7: 60 RTS ---- 1EF8: CB 0E 0E 4C 6D 8C CD FF Table for ? (8 bytes) ---- 1F00: Table for Notes Pitch (72 bytes) Affects Square 2 Channel Frequency 16-bit values, big endian 0023 00 35 006A 02 106 0327 04 807 0097 06 151 0000 08 0 Silence 02F9 0A 761 02CF 0C 719 02A6 0E 678 0280 10 025C 12 023A 14 021A 16 01FC 18 01DF 1A 479 01C4 1C 01AB 1E 0193 20 017C 22 0167 24 0153 26 0140 28 012E 2A 011D 2C 010D 2E 00FE 30 00EF 32 239 00E2 34 00D5 36 00C9 38 00BE 3A 00B3 3C 00A9 3E 00A0 40 008E 42 0086 44 0077 46 007E 48 0071 4A 0054 4C 0064 4E 005F 50 0059 52 0050 54 0047 56 0043 58 003F 5A 0038 5C 0032 5E 0021 60 054D 62 0501 64 04B9 66 0435 68 03F8 6A 03BF 6C 0389 6E 0357 70 ---- 1F72: AD 1906 LDA $0619 ; Square 1/2 Reverb Switch 1F75: A9 20 LDA #$20 ; A = 20 1F77: A2 82 LDX #$82 ; X = 82 1F79: A0 7F LDY #$7F ; Y = 7F 1F7B: 60 RTS ---- 1F7C: AD 1906 LDA $0619 ; Square 1/2 Reverb Switch 1F7F: 10 07 BPL $1F88 1F81: B9 929F LDA $9F92,Y 1F84: 29 0F AND #$0F ; keep bits .... xxxx 1F86: D0 07 BNE $1F8F 1F88: B9 929F LDA $9F92,Y 1F8B: 4A LSR 1F8C: 4A LSR 1F8D: 4A LSR 1F8E: 4A LSR 1F8F: 09 90 ORA #$90 ; set bits x..x .... 1F91: 60 RTS ---- 1F92: Table for ? (29 bytes) 04 24 24 34 34 35 35 35 45 45 46 46 46 46 46 46 46 46 57 57 57 57 68 68 68 68 79 79 79 68 68 57 47 67 87 A8 B9 9A 8A 5A 9B ---- 1FBB: Table for ? (16 bytes) 8B FB F9 9D 6E 3F 1A 1A 1C 1D 1D 1E 1E 1F 1F 1E 1A 19 16 13 11 11 ---- 1FD1: Table for Note Lengths according to Note Lengths Code (28 bytes) 03 0A 01 14 05 28 3C 70 00 Dungeons 1-8 07 1B 35 14 0D 28 3C 50 08 Ending 06 0C 08 18 24 30 48 10 10 Overworld, Item, Triforce... 07 0D 09 1B 24 36 48 10 18 ? 3C 50 0A 05 14 0D 28 0E 20 Intro ---- 1FF9: Unused Space (1F57 bytes) ---- Reset Vector 3F50: 78 SEI 3F51: D8 CLD 3F52: A9 00 LDA #$00 ; A = 0 3F54: 8D 0020 STA $2000 3F57: A2 FF LDX #$FF ; X = FF 3F59: 9A TXS 3F5A: AD 0220 LDA $2002 3F5D: 29 80 AND #$80 ; keep bits x... .... 3F5F: F0 F9 BEQ $3F5A 3F61: AD 0220 LDA $2002 3F64: 29 80 AND #$80 ; keep bits x... .... 3F66: F0 F9 BEQ $3F61 3F68: 09 FF ORA #$FF ; set bits xxxx xxxx 3F6A: 8D 0080 STA $8000 3F6D: 8D 00A0 STA $A000 3F70: 8D 00C0 STA $C000 3F73: 8D 00E0 STA $E000 3F76: A9 0F LDA #$0F ; A = 0F 3F78: 20 98BF JSR $BF98 3F7B: A9 00 LDA #$00 ; A = 00 3F7D: 8D 00A0 STA $A000 3F80: 4A LSR 3F81: 8D 00A0 STA $A000 3F84: 4A LSR 3F85: 8D 00A0 STA $A000 3F88: 4A LSR 3F89: 8D 00A0 STA $A000 3F8C: 4A LSR 3F8D: 8D 00A0 STA $A000 3F90: A9 07 LDA #$07 ; A = 07 3F92: 20 ACBF JSR $BFAC 3F95: 4C 40E4 JMP $E440 ---- 3F98: 8D 0080 STA $8000 3F9B: 4A LSR 3F9C: 8D 0080 STA $8000 3F9F: 4A LSR 3FA0: 8D 0080 STA $8000 3FA3: 4A LSR 3FA4: 8D 0080 STA $8000 3FA7: 4A LSR 3FA8: 8D 0080 STA $8000 3FAB: 60 RTS ---- 3FAC: 8D 00E0 STA $E000 3FAF: 4A LSR 3FB0: 8D 00E0 STA $E000 3FB3: 4A LSR 3FB4: 8D 00E0 STA $E000 3FB7: 4A LSR 3FB8: 8D 00E0 STA $E000 3FBB: 4A LSR 3FBC: 8D 00E0 STA $E000 3FBF: 60 RTS ---- 3FC0: Unused Space (3A bytes) ---- 3FFA: NMI, Reset, Break 84E4 -> 1E484 50BF -> 3F50 F0BF -> 3FF0 -------- // End of Bank // --------